// 引入封装好的接口
import {goodsList,goodsCount} from '../../../request/api'

const state={
    goodslist:[],
    size:5, //页面显示条数
    page:1, //页码初始数
    count:0  //总数
}

const getters={
    // 返回管理员列表
    getGoodsList(state){
        return state.goodslist
    },
    // 返回总数
    getCount(state){
        return state.count
    },
    // 返回当前显示条数
   getSize(state){
    return state.size
   }
}

const mutations={
        REQ_GOODSLIST(state,payload){
            state.goodslist=payload
        },
        REQ_GETCOUNT(state,payload){
            state.count=payload
        },
        // 修改页码
        CHANGE_PAGE(state,payload){
            state.page=payload
        }
}

const actions={
    // 封装一个获取列表的行动
    getGoodsListAction(context){
        goodsList({
            size:context.state.size,
            page:context.state.page
        }).then(res=>{
            if(res.code==200){
                context.commit('REQ_GOODSLIST',res.list)
                let list = res.list?res.list:[]
                if(context.state.page !=1 && list.length==0){
                    context.dispatch('changePageAction',context.state.page-1)
                }
            }
        })
    },
    // 获取总数的行动
    getCountAction({commit}){
        goodsCount(),then(res=>{
            console.log(res,'总数');
            if(res.code==200){
                commit('REQ_GETCOUNT',res.list[0].total)
            }
        })
    },
    // 切换页码
    changePageAction(context,payload){
        //页码切换修改page
        context.commit('CHANGE_PAGE',payload)
        //重新调用列表
        context.dispatch('getGoodsListAction')
    }
}

export default{
    state,
    getters,
    mutations,
    actions,
    namespaced:true
}